package com.bbva.kyfb.kyfbdto.firmas.fachada.v01;

import java.io.Serializable;

import javax.validation.constraints.Digits;
import javax.xml.bind.annotation.XmlRootElement;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * Tipo de dato de entrada para la solicitud de la auditoria de
 * un componente.
 *
 * @author xe35008
 * @version 1.0
 */
@XmlRootElement 
public class InfoFileAuditRequest implements Serializable{
	
	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 1L;


	/** Identificador de la orden o fichero. */
	private String sIdOrdenFirmas;
	
	/** Canal asociado a la referencia. */
	private String sCanal;
	
	/** Banco interno asociado a la referencia. */
	private String sBancoInt;
	
	/** referencia asociada a la orden o fichero. */
	private String sReferencia;
	
	/** Tipo de la orden o fichero. */
	private String sTipoOrden;
	
	/**
	 * Instantiates a new info file audit request.
	 */
	public InfoFileAuditRequest() {}

	/**
	 * Gets the s id orden firmas.
	 *
	 * @return the sIdOrdenFirmas
	 */
	@NotEmpty
	public String getsIdOrdenFirmas() {
		return sIdOrdenFirmas;
	}

	/**
	 * Sets the s id orden firmas.
	 *
	 * @param sIdOrdenFirmas the sIdOrdenFirmas to set
	 */
	public void setsIdOrdenFirmas(String sIdOrdenFirmas) {
		this.sIdOrdenFirmas = sIdOrdenFirmas;
	}

	/**
	 * Gets the s canal.
	 *
	 * @return the sCanal
	 */
	@NotEmpty
	@Length(min=4,max=4)
	public String getsCanal() {
		return sCanal;
	}

	/**
	 * Sets the s canal.
	 *
	 * @param sCanal the sCanal to set
	 */
	public void setsCanal(String sCanal) {
		this.sCanal = sCanal;
	}

	/**
	 * Gets the s banco int.
	 *
	 * @return the sBancoInt
	 */
	@NotEmpty
	@Length(min=1,max=4)
	@Digits(fraction = 0, integer = 4)
	public String getsBancoInt() {
		return sBancoInt;
	}

	/**
	 * Sets the s banco int.
	 *
	 * @param sBancoInt the sBancoInt to set
	 */
	public void setsBancoInt(String sBancoInt) {
		this.sBancoInt = sBancoInt;
	}

	/**
	 * Gets the s referencia.
	 *
	 * @return the sReferencia
	 */
	@NotEmpty
	@Length(min=8,max=8)
	@Digits(fraction=0,integer=8)
	public String getsReferencia() {
		return sReferencia;
	}

	/**
	 * Sets the s referencia.
	 *
	 * @param sReferencia the sReferencia to set
	 */
	public void setsReferencia(String sReferencia) {
		this.sReferencia = sReferencia;
	}

	/**
	 * Gets the s tipo orden.
	 *
	 * @return the sTipoOrden
	 */
	@NotEmpty
	@Length(min=3,max=3)
	public String getsTipoOrden() {
		return sTipoOrden;
	}

	/**
	 * Sets the s tipo orden.
	 *
	 * @param sTipoOrden the sTipoOrden to set
	 */
	public void setsTipoOrden(String sTipoOrden) {
		this.sTipoOrden = sTipoOrden;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "InfoFileAuditRequest [sIdOrdenFirmas=" + sIdOrdenFirmas
				+ ", sCanal=" + sCanal + ", sBancoInt=" + sBancoInt
				+ ", sReferencia=" + sReferencia + ", sTipoOrden=" + sTipoOrden
				+ "]";
	}	
	
}
